Skip to content

Add measurement module (v0.9.0)#96

Merged
codegresscom merged 1 commit intomainfrom
feat/56-65-measurement-module
Apr 21, 2026
Merged

Add measurement module (v0.9.0)#96
codegresscom merged 1 commit intomainfrom
feat/56-65-measurement-module

Conversation

@vhrcgcom
Copy link
Copy Markdown
Collaborator

Summary

  • Length — non-negative f64, units: mm / cm / m / km / in / ft
  • Weight — non-negative f64, units: mg / g / kg / t / oz / lb
  • Temperature — validated against absolute zero per unit (°C / °F / K)
  • Volume — non-negative f64, units: ml / l / m³ / fl oz / gal
  • Area — non-negative f64, units: mm² / cm² / m² / km² / in² / ft² / ha
  • Speed — non-negative f64, units: m/s / km/h / mph / kn
  • Pressure — non-negative f64, units: Pa / kPa / MPa / bar / psi / atm
  • Energy — non-negative f64, units: J / kJ / MJ / kWh / cal / kcal
  • Power — non-negative f64, units: W / kW / MW / hp
  • Frequency — strictly positive f64, units: Hz / kHz / MHz / GHz

No extra dependencies.

Closes #56
Closes #57
Closes #58
Closes #59
Closes #60
Closes #61
Closes #62
Closes #63
Closes #64
Closes #65

Type of change

  • New value object / feature

Checklist

  • ValueObject trait (new / value / into_inner)
  • Display
  • serde cfg_attr
  • Tests (44 passing)
  • cargo fmt + clippy clean
  • ROADMAP.md updated (62/62 ✅)
  • README.md updated
  • docs/measurement.md added

Length, Weight, Temperature, Volume, Area, Speed, Pressure, Energy,
Power, Frequency. Each type stores value + unit; no conversions.
Temperature validated against absolute zero per unit.

Closes #56
Closes #57
Closes #58
Closes #59
Closes #60
Closes #61
Closes #62
Closes #63
Closes #64
Closes #65
@codegresscom codegresscom merged commit da64e9f into main Apr 21, 2026
14 checks passed
@codegresscom codegresscom deleted the feat/56-65-measurement-module branch April 21, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants